var $jscomp = $jscomp || {};
$jscomp.scope = {};
$jscomp.arrayIteratorImpl = function (f) {
    var m = 0;
    return function () {
        return m < f.length ? { done: !1, value: f[m++] } : { done: !0 };
    };
};
$jscomp.arrayIterator = function (f) {
    return { next: $jscomp.arrayIteratorImpl(f) };
};
$jscomp.makeIterator = function (f) {
    var m = 'undefined' != typeof Symbol && Symbol.iterator && f[Symbol.iterator];
    return m ? m.call(f) : $jscomp.arrayIterator(f);
};
$jscomp.getGlobal = function (f) {
    return 'undefined' != typeof window && window === f
        ? f
        : 'undefined' != typeof global && null != global
        ? global
        : f;
};
$jscomp.global = $jscomp.getGlobal(this);
$jscomp.ASSUME_ES5 = !1;
$jscomp.ASSUME_NO_NATIVE_MAP = !1;
$jscomp.ASSUME_NO_NATIVE_SET = !1;
$jscomp.SIMPLE_FROUND_POLYFILL = !1;
$jscomp.defineProperty =
    $jscomp.ASSUME_ES5 || 'function' == typeof Object.defineProperties
        ? Object.defineProperty
        : function (f, m, v) {
              f != Array.prototype && f != Object.prototype && (f[m] = v.value);
          };
$jscomp.polyfill = function (f, m, v, t) {
    if (m) {
        v = $jscomp.global;
        f = f.split('.');
        for (t = 0; t < f.length - 1; t++) {
            var h = f[t];
            h in v || (v[h] = {});
            v = v[h];
        }
        f = f[f.length - 1];
        t = v[f];
        m = m(t);
        m != t && null != m && $jscomp.defineProperty(v, f, { configurable: !0, writable: !0, value: m });
    }
};
$jscomp.FORCE_POLYFILL_PROMISE = !1;
$jscomp.polyfill(
    'Promise',
    function (f) {
        function m() {
            this.batch_ = null;
        }
        function v(e) {
            return e instanceof h
                ? e
                : new h(function (l, f) {
                      l(e);
                  });
        }
        if (f && !$jscomp.FORCE_POLYFILL_PROMISE) return f;
        m.prototype.asyncExecute = function (e) {
            if (null == this.batch_) {
                this.batch_ = [];
                var l = this;
                this.asyncExecuteFunction(function () {
                    l.executeBatch_();
                });
            }
            this.batch_.push(e);
        };
        var t = $jscomp.global.setTimeout;
        m.prototype.asyncExecuteFunction = function (e) {
            t(e, 0);
        };
        m.prototype.executeBatch_ = function () {
            for (; this.batch_ && this.batch_.length; ) {
                var e = this.batch_;
                this.batch_ = [];
                for (var l = 0; l < e.length; ++l) {
                    var f = e[l];
                    e[l] = null;
                    try {
                        f();
                    } catch (z) {
                        this.asyncThrow_(z);
                    }
                }
            }
            this.batch_ = null;
        };
        m.prototype.asyncThrow_ = function (e) {
            this.asyncExecuteFunction(function () {
                throw e;
            });
        };
        var h = function (e) {
            this.state_ = 0;
            this.result_ = void 0;
            this.onSettledCallbacks_ = [];
            var l = this.createResolveAndReject_();
            try {
                e(l.resolve, l.reject);
            } catch (S) {
                l.reject(S);
            }
        };
        h.prototype.createResolveAndReject_ = function () {
            function e(e) {
                return function (h) {
                    f || ((f = !0), e.call(l, h));
                };
            }
            var l = this,
                f = !1;
            return { resolve: e(this.resolveTo_), reject: e(this.reject_) };
        };
        h.prototype.resolveTo_ = function (e) {
            if (e === this) this.reject_(new TypeError('A Promise cannot resolve to itself'));
            else if (e instanceof h) this.settleSameAsPromise_(e);
            else {
                a: switch (typeof e) {
                    case 'object':
                        var l = null != e;
                        break a;
                    case 'function':
                        l = !0;
                        break a;
                    default:
                        l = !1;
                }
                l ? this.resolveToNonPromiseObj_(e) : this.fulfill_(e);
            }
        };
        h.prototype.resolveToNonPromiseObj_ = function (e) {
            var l = void 0;
            try {
                l = e.then;
            } catch (S) {
                this.reject_(S);
                return;
            }
            'function' == typeof l ? this.settleSameAsThenable_(l, e) : this.fulfill_(e);
        };
        h.prototype.reject_ = function (e) {
            this.settle_(2, e);
        };
        h.prototype.fulfill_ = function (e) {
            this.settle_(1, e);
        };
        h.prototype.settle_ = function (e, l) {
            if (0 != this.state_)
                throw Error('Cannot settle(' + e + ', ' + l + '): Promise already settled in state' + this.state_);
            this.state_ = e;
            this.result_ = l;
            this.executeOnSettledCallbacks_();
        };
        h.prototype.executeOnSettledCallbacks_ = function () {
            if (null != this.onSettledCallbacks_) {
                for (var e = 0; e < this.onSettledCallbacks_.length; ++e) X.asyncExecute(this.onSettledCallbacks_[e]);
                this.onSettledCallbacks_ = null;
            }
        };
        var X = new m();
        h.prototype.settleSameAsPromise_ = function (e) {
            var l = this.createResolveAndReject_();
            e.callWhenSettled_(l.resolve, l.reject);
        };
        h.prototype.settleSameAsThenable_ = function (e, l) {
            var f = this.createResolveAndReject_();
            try {
                e.call(l, f.resolve, f.reject);
            } catch (z) {
                f.reject(z);
            }
        };
        h.prototype.then = function (e, f) {
            function l(e, f) {
                return 'function' == typeof e
                    ? function (f) {
                          try {
                              m(e(f));
                          } catch (p) {
                              v(p);
                          }
                      }
                    : f;
            }
            var m,
                v,
                t = new h(function (e, f) {
                    m = e;
                    v = f;
                });
            this.callWhenSettled_(l(e, m), l(f, v));
            return t;
        };
        h.prototype.catch = function (e) {
            return this.then(void 0, e);
        };
        h.prototype.callWhenSettled_ = function (e, f) {
            function l() {
                switch (h.state_) {
                    case 1:
                        e(h.result_);
                        break;
                    case 2:
                        f(h.result_);
                        break;
                    default:
                        throw Error('Unexpected state: ' + h.state_);
                }
            }
            var h = this;
            null == this.onSettledCallbacks_ ? X.asyncExecute(l) : this.onSettledCallbacks_.push(l);
        };
        h.resolve = v;
        h.reject = function (e) {
            return new h(function (f, h) {
                h(e);
            });
        };
        h.race = function (e) {
            return new h(function (f, h) {
                for (var l = $jscomp.makeIterator(e), m = l.next(); !m.done; m = l.next())
                    v(m.value).callWhenSettled_(f, h);
            });
        };
        h.all = function (e) {
            var f = $jscomp.makeIterator(e),
                m = f.next();
            return m.done
                ? v([])
                : new h(function (e, h) {
                      function l(f) {
                          return function (h) {
                              t[f] = h;
                              z--;
                              0 == z && e(t);
                          };
                      }
                      var t = [],
                          z = 0;
                      do t.push(void 0), z++, v(m.value).callWhenSettled_(l(t.length - 1), h), (m = f.next());
                      while (!m.done);
                  });
        };
        return h;
    },
    'es6',
    'es3'
);
var DracoDecoderModule = (function () {
    var f = 'undefined' !== typeof document && document.currentScript ? document.currentScript.src : void 0;
    'undefined' !== typeof __filename && (f = f || __filename);
    return function (m) {
        function v(k) {
            return a.locateFile ? a.locateFile(k, M) : M + k;
        }
        function t(a, c) {
            a || z('Assertion failed: ' + c);
        }
        function h(a, c, b) {
            var d = c + b;
            for (b = c; a[b] && !(b >= d); ) ++b;
            if (16 < b - c && a.subarray && xa) return xa.decode(a.subarray(c, b));
            for (d = ''; c < b; ) {
                var k = a[c++];
                if (k & 128) {
                    var e = a[c++] & 63;
                    if (192 == (k & 224)) d += String.fromCharCode(((k & 31) << 6) | e);
                    else {
                        var f = a[c++] & 63;
                        k =
                            224 == (k & 240)
                                ? ((k & 15) << 12) | (e << 6) | f
                                : ((k & 7) << 18) | (e << 12) | (f << 6) | (a[c++] & 63);
                        65536 > k
                            ? (d += String.fromCharCode(k))
                            : ((k -= 65536), (d += String.fromCharCode(55296 | (k >> 10), 56320 | (k & 1023))));
                    }
                } else d += String.fromCharCode(k);
            }
            return d;
        }
        function X(a, c) {
            return a ? h(ca, a, c) : '';
        }
        function e(a, c) {
            0 < a % c && (a += c - (a % c));
            return a;
        }
        function l(k) {
            ka = k;
            a.HEAP8 = T = new Int8Array(k);
            a.HEAP16 = new Int16Array(k);
            a.HEAP32 = P = new Int32Array(k);
            a.HEAPU8 = ca = new Uint8Array(k);
            a.HEAPU16 = new Uint16Array(k);
            a.HEAPU32 = new Uint32Array(k);
            a.HEAPF32 = new Float32Array(k);
            a.HEAPF64 = new Float64Array(k);
        }
        function S(k) {
            for (; 0 < k.length; ) {
                var c = k.shift();
                if ('function' == typeof c) c();
                else {
                    var b = c.func;
                    'number' === typeof b
                        ? void 0 === c.arg
                            ? a.dynCall_v(b)
                            : a.dynCall_vi(b, c.arg)
                        : b(void 0 === c.arg ? null : c.arg);
                }
            }
        }
        function z(k) {
            if (a.onAbort) a.onAbort(k);
            k += '';
            ya(k);
            Y(k);
            za = !0;
            throw new WebAssembly.RuntimeError('abort(' + k + '). Build with -s ASSERTIONS=1 for more info.');
        }
        function va(a) {
            return String.prototype.startsWith
                ? a.startsWith('data:application/octet-stream;base64,')
                : 0 === a.indexOf('data:application/octet-stream;base64,');
        }
        function wa() {
            try {
                if (da) return new Uint8Array(da);
                if (la) return la(U);
                throw 'both async and sync fetching of the wasm failed';
            } catch (k) {
                z(k);
            }
        }
        function Ma() {
            return da || (!ea && !Z) || 'function' !== typeof fetch
                ? new Promise(function (a, c) {
                      a(wa());
                  })
                : fetch(U, { credentials: 'same-origin' })
                      .then(function (a) {
                          if (!a.ok) throw "failed to load wasm binary file at '" + U + "'";
                          return a.arrayBuffer();
                      })
                      .catch(function () {
                          return wa();
                      });
        }
        function ba() {
            if (!ba.strings) {
                var a = {
                        USER: 'web_user',
                        LOGNAME: 'web_user',
                        PATH: '/',
                        PWD: '/',
                        HOME: '/home/web_user',
                        LANG:
                            (
                                ('object' === typeof navigator && navigator.languages && navigator.languages[0]) ||
                                'C'
                            ).replace('-', '_') + '.UTF-8',
                        _: na,
                    },
                    c;
                for (c in Aa) a[c] = Aa[c];
                var b = [];
                for (c in a) b.push(c + '=' + a[c]);
                ba.strings = b;
            }
            return ba.strings;
        }
        function ma(k) {
            function c() {
                if (!fa && ((fa = !0), !za)) {
                    Ba = !0;
                    S(Ca);
                    S(Da);
                    if (a.onRuntimeInitialized) a.onRuntimeInitialized();
                    if (a.postRun)
                        for ('function' == typeof a.postRun && (a.postRun = [a.postRun]); a.postRun.length; )
                            Ea.unshift(a.postRun.shift());
                    S(Ea);
                }
            }
            if (!(0 < aa)) {
                if (a.preRun)
                    for ('function' == typeof a.preRun && (a.preRun = [a.preRun]); a.preRun.length; )
                        Fa.unshift(a.preRun.shift());
                S(Fa);
                0 < aa ||
                    (a.setStatus
                        ? (a.setStatus('Running...'),
                          setTimeout(function () {
                              setTimeout(function () {
                                  a.setStatus('');
                              }, 1);
                              c();
                          }, 1))
                        : c());
            }
        }
        function p() {}
        function u(a) {
            return (a || p).__cache__;
        }
        function N(a, c) {
            var b = u(c),
                d = b[a];
            if (d) return d;
            d = Object.create((c || p).prototype);
            d.ptr = a;
            return (b[a] = d);
        }
        function V(a) {
            if ('string' === typeof a) {
                for (var c = 0, b = 0; b < a.length; ++b) {
                    var d = a.charCodeAt(b);
                    55296 <= d && 57343 >= d && (d = (65536 + ((d & 1023) << 10)) | (a.charCodeAt(++b) & 1023));
                    127 >= d ? ++c : (c = 2047 >= d ? c + 2 : 65535 >= d ? c + 3 : c + 4);
                }
                c = Array(c + 1);
                b = 0;
                d = c.length;
                if (0 < d) {
                    d = b + d - 1;
                    for (var k = 0; k < a.length; ++k) {
                        var e = a.charCodeAt(k);
                        if (55296 <= e && 57343 >= e) {
                            var f = a.charCodeAt(++k);
                            e = (65536 + ((e & 1023) << 10)) | (f & 1023);
                        }
                        if (127 >= e) {
                            if (b >= d) break;
                            c[b++] = e;
                        } else {
                            if (2047 >= e) {
                                if (b + 1 >= d) break;
                                c[b++] = 192 | (e >> 6);
                            } else {
                                if (65535 >= e) {
                                    if (b + 2 >= d) break;
                                    c[b++] = 224 | (e >> 12);
                                } else {
                                    if (b + 3 >= d) break;
                                    c[b++] = 240 | (e >> 18);
                                    c[b++] = 128 | ((e >> 12) & 63);
                                }
                                c[b++] = 128 | ((e >> 6) & 63);
                            }
                            c[b++] = 128 | (e & 63);
                        }
                    }
                    c[b] = 0;
                }
                a = n.alloc(c, T);
                n.copy(c, T, a);
            }
            return a;
        }
        function x() {
            throw 'cannot construct a Status, no constructor in IDL';
        }
        function A() {
            this.ptr = Oa();
            u(A)[this.ptr] = this;
        }
        function B() {
            this.ptr = Pa();
            u(B)[this.ptr] = this;
        }
        function C() {
            this.ptr = Qa();
            u(C)[this.ptr] = this;
        }
        function D() {
            this.ptr = Ra();
            u(D)[this.ptr] = this;
        }
        function E() {
            this.ptr = Sa();
            u(E)[this.ptr] = this;
        }
        function q() {
            this.ptr = Ta();
            u(q)[this.ptr] = this;
        }
        function J() {
            this.ptr = Ua();
            u(J)[this.ptr] = this;
        }
        function w() {
            this.ptr = Va();
            u(w)[this.ptr] = this;
        }
        function F() {
            this.ptr = Wa();
            u(F)[this.ptr] = this;
        }
        function r() {
            this.ptr = Xa();
            u(r)[this.ptr] = this;
        }
        function G() {
            this.ptr = Ya();
            u(G)[this.ptr] = this;
        }
        function H() {
            this.ptr = Za();
            u(H)[this.ptr] = this;
        }
        function O() {
            this.ptr = $a();
            u(O)[this.ptr] = this;
        }
        function K() {
            this.ptr = ab();
            u(K)[this.ptr] = this;
        }
        function g() {
            this.ptr = bb();
            u(g)[this.ptr] = this;
        }
        function y() {
            this.ptr = cb();
            u(y)[this.ptr] = this;
        }
        function Q() {
            throw 'cannot construct a VoidPtr, no constructor in IDL';
        }
        function I() {
            this.ptr = db();
            u(I)[this.ptr] = this;
        }
        function L() {
            this.ptr = eb();
            u(L)[this.ptr] = this;
        }
        m = m || {};
        var a = 'undefined' !== typeof m ? m : {},
            Ga = !1,
            Ha = !1;
        a.onRuntimeInitialized = function () {
            Ga = !0;
            if (Ha && 'function' === typeof a.onModuleLoaded) a.onModuleLoaded(a);
        };
        a.onModuleParsed = function () {
            Ha = !0;
            if (Ga && 'function' === typeof a.onModuleLoaded) a.onModuleLoaded(a);
        };
        a.isVersionSupported = function (a) {
            if ('string' !== typeof a) return !1;
            a = a.split('.');
            return 2 > a.length || 3 < a.length
                ? !1
                : 1 == a[0] && 0 <= a[1] && 3 >= a[1]
                ? !0
                : 0 != a[0] || 10 < a[1]
                ? !1
                : !0;
        };
        var ha = {},
            W;
        for (W in a) a.hasOwnProperty(W) && (ha[W] = a[W]);
        var na = './this.program',
            ea = !1,
            Z = !1,
            oa = !1,
            fb = !1,
            Ia = !1;
        ea = 'object' === typeof window;
        Z = 'function' === typeof importScripts;
        oa =
            (fb =
                'object' === typeof process &&
                'object' === typeof process.versions &&
                'string' === typeof process.versions.node) &&
            !ea &&
            !Z;
        Ia = !ea && !oa && !Z;
        var M = '',
            pa,
            qa;
        if (oa) {
            M = __dirname + '/';
            var ra = function (a, c) {
                pa || (pa = require('fs'));
                qa || (qa = require('path'));
                a = qa.normalize(a);
                return pa.readFileSync(a, c ? null : 'utf8');
            };
            var la = function (a) {
                a = ra(a, !0);
                a.buffer || (a = new Uint8Array(a));
                t(a.buffer);
                return a;
            };
            1 < process.argv.length && (na = process.argv[1].replace(/\\/g, '/'));
            process.argv.slice(2);
            process.on('uncaughtException', function (a) {
                throw a;
            });
            process.on('unhandledRejection', z);
            a.inspect = function () {
                return '[Emscripten Module object]';
            };
        } else if (Ia)
            'undefined' != typeof read &&
                (ra = function (a) {
                    return read(a);
                }),
                (la = function (a) {
                    if ('function' === typeof readbuffer) return new Uint8Array(readbuffer(a));
                    a = read(a, 'binary');
                    t('object' === typeof a);
                    return a;
                }),
                'undefined' !== typeof print &&
                    ('undefined' === typeof console && (console = {}),
                    (console.log = print),
                    (console.warn = console.error = 'undefined' !== typeof printErr ? printErr : print));
        else if (ea || Z)
            Z ? (M = self.location.href) : document.currentScript && (M = document.currentScript.src),
                f && (M = f),
                (M = 0 !== M.indexOf('blob:') ? M.substr(0, M.lastIndexOf('/') + 1) : ''),
                (ra = function (a) {
                    var c = new XMLHttpRequest();
                    c.open('GET', a, !1);
                    c.send(null);
                    return c.responseText;
                }),
                Z &&
                    (la = function (a) {
                        var c = new XMLHttpRequest();
                        c.open('GET', a, !1);
                        c.responseType = 'arraybuffer';
                        c.send(null);
                        return new Uint8Array(c.response);
                    });
        var ya = a.print || console.log.bind(console),
            Y = a.printErr || console.warn.bind(console);
        for (W in ha) ha.hasOwnProperty(W) && (a[W] = ha[W]);
        ha = null;
        a.thisProgram && (na = a.thisProgram);
        var da;
        a.wasmBinary && (da = a.wasmBinary);
        'object' !== typeof WebAssembly && Y('no native wasm support detected');
        var ia,
            gb = new WebAssembly.Table({ initial: 293, maximum: 293, element: 'anyfunc' }),
            za = !1,
            xa = 'undefined' !== typeof TextDecoder ? new TextDecoder('utf8') : void 0;
        'undefined' !== typeof TextDecoder && new TextDecoder('utf-16le');
        var T,
            ca,
            P,
            Ja = a.TOTAL_MEMORY || 16777216;
        if ((ia = a.wasmMemory ? a.wasmMemory : new WebAssembly.Memory({ initial: Ja / 65536 }))) var ka = ia.buffer;
        Ja = ka.byteLength;
        l(ka);
        P[3416] = 5256704;
        var Fa = [],
            Ca = [],
            Da = [],
            Ea = [],
            Ba = !1,
            aa = 0,
            sa = null,
            ja = null;
        a.preloadedImages = {};
        a.preloadedAudios = {};
        var U = 'draco_decoder.wasm';
        va(U) || (U = v(U));
        Ca.push({
            func: function () {
                hb();
            },
        });
        var Aa = {},
            R = {
                buffers: [null, [], []],
                printChar: function (a, c) {
                    var b = R.buffers[a];
                    0 === c || 10 === c ? ((1 === a ? ya : Y)(h(b, 0)), (b.length = 0)) : b.push(c);
                },
                varargs: 0,
                get: function (a) {
                    R.varargs += 4;
                    return P[(R.varargs - 4) >> 2];
                },
                getStr: function () {
                    return X(R.get());
                },
                get64: function () {
                    var a = R.get();
                    R.get();
                    return a;
                },
                getZero: function () {
                    R.get();
                },
            },
            Ka = {
                __cxa_allocate_exception: function (a) {
                    return ib(a);
                },
                __cxa_throw: function (a, c, b) {
                    'uncaught_exception' in ta ? ta.uncaught_exceptions++ : (ta.uncaught_exceptions = 1);
                    throw a;
                },
                abort: function () {
                    z();
                },
                emscripten_get_sbrk_ptr: function () {
                    return 13664;
                },
                emscripten_memcpy_big: function (a, c, b) {
                    ca.set(ca.subarray(c, c + b), a);
                },
                emscripten_resize_heap: function (a) {
                    if (2147418112 < a) return !1;
                    for (var c = Math.max(T.length, 16777216); c < a; )
                        c = 536870912 >= c ? e(2 * c, 65536) : Math.min(e((3 * c + 2147483648) / 4, 65536), 2147418112);
                    a: {
                        try {
                            ia.grow((c - ka.byteLength + 65535) >> 16);
                            l(ia.buffer);
                            var b = 1;
                            break a;
                        } catch (d) {}
                        b = void 0;
                    }
                    return b ? !0 : !1;
                },
                environ_get: function (a, c) {
                    var b = 0;
                    ba().forEach(function (d, e) {
                        var f = c + b;
                        e = P[(a + 4 * e) >> 2] = f;
                        for (f = 0; f < d.length; ++f) T[e++ >> 0] = d.charCodeAt(f);
                        T[e >> 0] = 0;
                        b += d.length + 1;
                    });
                    return 0;
                },
                environ_sizes_get: function (a, c) {
                    var b = ba();
                    P[a >> 2] = b.length;
                    var d = 0;
                    b.forEach(function (a) {
                        d += a.length + 1;
                    });
                    P[c >> 2] = d;
                    return 0;
                },
                fd_close: function (a) {
                    return 0;
                },
                fd_seek: function (a, c, b, d, e) {
                    return 0;
                },
                fd_write: function (a, c, b, d) {
                    try {
                        for (var e = 0, f = 0; f < b; f++) {
                            for (var g = P[(c + 8 * f) >> 2], k = P[(c + (8 * f + 4)) >> 2], h = 0; h < k; h++)
                                R.printChar(a, ca[g + h]);
                            e += k;
                        }
                        P[d >> 2] = e;
                        return 0;
                    } catch (ua) {
                        return ('undefined' !== typeof FS && ua instanceof FS.ErrnoError) || z(ua), ua.errno;
                    }
                },
                memory: ia,
                setTempRet0: function (a) {},
                table: gb,
            },
            La = (function () {
                function e(c, b) {
                    a.asm = c.exports;
                    aa--;
                    a.monitorRunDependencies && a.monitorRunDependencies(aa);
                    0 == aa && (null !== sa && (clearInterval(sa), (sa = null)), ja && ((c = ja), (ja = null), c()));
                }
                function c(a) {
                    e(a.instance);
                }
                function b(a) {
                    return Ma()
                        .then(function (a) {
                            return WebAssembly.instantiate(a, d);
                        })
                        .then(a, function (a) {
                            Y('failed to asynchronously prepare wasm: ' + a);
                            z(a);
                        });
                }
                var d = { env: Ka, wasi_unstable: Ka };
                aa++;
                a.monitorRunDependencies && a.monitorRunDependencies(aa);
                if (a.instantiateWasm)
                    try {
                        return a.instantiateWasm(d, e);
                    } catch (Na) {
                        return Y('Module.instantiateWasm callback failed with error: ' + Na), !1;
                    }
                (function () {
                    if (
                        da ||
                        'function' !== typeof WebAssembly.instantiateStreaming ||
                        va(U) ||
                        'function' !== typeof fetch
                    )
                        return b(c);
                    fetch(U, { credentials: 'same-origin' }).then(function (a) {
                        return WebAssembly.instantiateStreaming(a, d).then(c, function (a) {
                            Y('wasm streaming compile failed: ' + a);
                            Y('falling back to ArrayBuffer instantiation');
                            b(c);
                        });
                    });
                })();
                return {};
            })();
        a.asm = La;
        var hb = (a.___wasm_call_ctors = function () {
                return a.asm.__wasm_call_ctors.apply(null, arguments);
            }),
            jb = (a._emscripten_bind_Status_code_0 = function () {
                return a.asm.emscripten_bind_Status_code_0.apply(null, arguments);
            }),
            kb = (a._emscripten_bind_Status_ok_0 = function () {
                return a.asm.emscripten_bind_Status_ok_0.apply(null, arguments);
            }),
            lb = (a._emscripten_bind_Status_error_msg_0 = function () {
                return a.asm.emscripten_bind_Status_error_msg_0.apply(null, arguments);
            }),
            mb = (a._emscripten_bind_Status___destroy___0 = function () {
                return a.asm.emscripten_bind_Status___destroy___0.apply(null, arguments);
            }),
            Oa = (a._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0 = function () {
                return a.asm.emscripten_bind_DracoUInt16Array_DracoUInt16Array_0.apply(null, arguments);
            }),
            nb = (a._emscripten_bind_DracoUInt16Array_GetValue_1 = function () {
                return a.asm.emscripten_bind_DracoUInt16Array_GetValue_1.apply(null, arguments);
            }),
            ob = (a._emscripten_bind_DracoUInt16Array_size_0 = function () {
                return a.asm.emscripten_bind_DracoUInt16Array_size_0.apply(null, arguments);
            }),
            pb = (a._emscripten_bind_DracoUInt16Array___destroy___0 = function () {
                return a.asm.emscripten_bind_DracoUInt16Array___destroy___0.apply(null, arguments);
            }),
            Pa = (a._emscripten_bind_PointCloud_PointCloud_0 = function () {
                return a.asm.emscripten_bind_PointCloud_PointCloud_0.apply(null, arguments);
            }),
            qb = (a._emscripten_bind_PointCloud_num_attributes_0 = function () {
                return a.asm.emscripten_bind_PointCloud_num_attributes_0.apply(null, arguments);
            }),
            rb = (a._emscripten_bind_PointCloud_num_points_0 = function () {
                return a.asm.emscripten_bind_PointCloud_num_points_0.apply(null, arguments);
            }),
            sb = (a._emscripten_bind_PointCloud___destroy___0 = function () {
                return a.asm.emscripten_bind_PointCloud___destroy___0.apply(null, arguments);
            }),
            Qa = (a._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0 = function () {
                return a.asm.emscripten_bind_DracoUInt8Array_DracoUInt8Array_0.apply(null, arguments);
            }),
            tb = (a._emscripten_bind_DracoUInt8Array_GetValue_1 = function () {
                return a.asm.emscripten_bind_DracoUInt8Array_GetValue_1.apply(null, arguments);
            }),
            ub = (a._emscripten_bind_DracoUInt8Array_size_0 = function () {
                return a.asm.emscripten_bind_DracoUInt8Array_size_0.apply(null, arguments);
            }),
            vb = (a._emscripten_bind_DracoUInt8Array___destroy___0 = function () {
                return a.asm.emscripten_bind_DracoUInt8Array___destroy___0.apply(null, arguments);
            }),
            Ra = (a._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0 = function () {
                return a.asm.emscripten_bind_DracoUInt32Array_DracoUInt32Array_0.apply(null, arguments);
            }),
            wb = (a._emscripten_bind_DracoUInt32Array_GetValue_1 = function () {
                return a.asm.emscripten_bind_DracoUInt32Array_GetValue_1.apply(null, arguments);
            }),
            xb = (a._emscripten_bind_DracoUInt32Array_size_0 = function () {
                return a.asm.emscripten_bind_DracoUInt32Array_size_0.apply(null, arguments);
            }),
            yb = (a._emscripten_bind_DracoUInt32Array___destroy___0 = function () {
                return a.asm.emscripten_bind_DracoUInt32Array___destroy___0.apply(null, arguments);
            }),
            Sa = (a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0 = function () {
                return a.asm.emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(
                    null,
                    arguments
                );
            }),
            zb = (a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1 = function () {
                return a.asm.emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null, arguments);
            }),
            Ab = (a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0 = function () {
                return a.asm.emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null, arguments);
            }),
            Bb = (a._emscripten_bind_AttributeOctahedronTransform___destroy___0 = function () {
                return a.asm.emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null, arguments);
            }),
            Ta = (a._emscripten_bind_PointAttribute_PointAttribute_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_PointAttribute_0.apply(null, arguments);
            }),
            Cb = (a._emscripten_bind_PointAttribute_size_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_size_0.apply(null, arguments);
            }),
            Db = (a._emscripten_bind_PointAttribute_GetAttributeTransformData_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null, arguments);
            }),
            Eb = (a._emscripten_bind_PointAttribute_attribute_type_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_attribute_type_0.apply(null, arguments);
            }),
            Fb = (a._emscripten_bind_PointAttribute_data_type_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_data_type_0.apply(null, arguments);
            }),
            Gb = (a._emscripten_bind_PointAttribute_num_components_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_num_components_0.apply(null, arguments);
            }),
            Hb = (a._emscripten_bind_PointAttribute_normalized_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_normalized_0.apply(null, arguments);
            }),
            Ib = (a._emscripten_bind_PointAttribute_byte_stride_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_byte_stride_0.apply(null, arguments);
            }),
            Jb = (a._emscripten_bind_PointAttribute_byte_offset_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_byte_offset_0.apply(null, arguments);
            }),
            Kb = (a._emscripten_bind_PointAttribute_unique_id_0 = function () {
                return a.asm.emscripten_bind_PointAttribute_unique_id_0.apply(null, arguments);
            }),
            Lb = (a._emscripten_bind_PointAttribute___destroy___0 = function () {
                return a.asm.emscripten_bind_PointAttribute___destroy___0.apply(null, arguments);
            }),
            Ua = (a._emscripten_bind_AttributeTransformData_AttributeTransformData_0 = function () {
                return a.asm.emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, arguments);
            }),
            Mb = (a._emscripten_bind_AttributeTransformData_transform_type_0 = function () {
                return a.asm.emscripten_bind_AttributeTransformData_transform_type_0.apply(null, arguments);
            }),
            Nb = (a._emscripten_bind_AttributeTransformData___destroy___0 = function () {
                return a.asm.emscripten_bind_AttributeTransformData___destroy___0.apply(null, arguments);
            }),
            Va = (a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0 = function () {
                return a.asm.emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(
                    null,
                    arguments
                );
            }),
            Ob = (a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1 = function () {
                return a.asm.emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null, arguments);
            }),
            Pb = (a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0 = function () {
                return a.asm.emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null, arguments);
            }),
            Qb = (a._emscripten_bind_AttributeQuantizationTransform_min_value_1 = function () {
                return a.asm.emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, arguments);
            }),
            Rb = (a._emscripten_bind_AttributeQuantizationTransform_range_0 = function () {
                return a.asm.emscripten_bind_AttributeQuantizationTransform_range_0.apply(null, arguments);
            }),
            Sb = (a._emscripten_bind_AttributeQuantizationTransform___destroy___0 = function () {
                return a.asm.emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null, arguments);
            }),
            Wa = (a._emscripten_bind_DracoInt8Array_DracoInt8Array_0 = function () {
                return a.asm.emscripten_bind_DracoInt8Array_DracoInt8Array_0.apply(null, arguments);
            }),
            Tb = (a._emscripten_bind_DracoInt8Array_GetValue_1 = function () {
                return a.asm.emscripten_bind_DracoInt8Array_GetValue_1.apply(null, arguments);
            }),
            Ub = (a._emscripten_bind_DracoInt8Array_size_0 = function () {
                return a.asm.emscripten_bind_DracoInt8Array_size_0.apply(null, arguments);
            }),
            Vb = (a._emscripten_bind_DracoInt8Array___destroy___0 = function () {
                return a.asm.emscripten_bind_DracoInt8Array___destroy___0.apply(null, arguments);
            }),
            Xa = (a._emscripten_bind_MetadataQuerier_MetadataQuerier_0 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null, arguments);
            }),
            Wb = (a._emscripten_bind_MetadataQuerier_HasEntry_2 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_HasEntry_2.apply(null, arguments);
            }),
            Xb = (a._emscripten_bind_MetadataQuerier_GetIntEntry_2 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null, arguments);
            }),
            Yb = (a._emscripten_bind_MetadataQuerier_GetIntEntryArray_3 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_GetIntEntryArray_3.apply(null, arguments);
            }),
            Zb = (a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null, arguments);
            }),
            $b = (a._emscripten_bind_MetadataQuerier_GetStringEntry_2 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null, arguments);
            }),
            ac = (a._emscripten_bind_MetadataQuerier_NumEntries_1 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_NumEntries_1.apply(null, arguments);
            }),
            bc = (a._emscripten_bind_MetadataQuerier_GetEntryName_2 = function () {
                return a.asm.emscripten_bind_MetadataQuerier_GetEntryName_2.apply(null, arguments);
            }),
            cc = (a._emscripten_bind_MetadataQuerier___destroy___0 = function () {
                return a.asm.emscripten_bind_MetadataQuerier___destroy___0.apply(null, arguments);
            }),
            Ya = (a._emscripten_bind_DracoInt16Array_DracoInt16Array_0 = function () {
                return a.asm.emscripten_bind_DracoInt16Array_DracoInt16Array_0.apply(null, arguments);
            }),
            dc = (a._emscripten_bind_DracoInt16Array_GetValue_1 = function () {
                return a.asm.emscripten_bind_DracoInt16Array_GetValue_1.apply(null, arguments);
            }),
            ec = (a._emscripten_bind_DracoInt16Array_size_0 = function () {
                return a.asm.emscripten_bind_DracoInt16Array_size_0.apply(null, arguments);
            }),
            fc = (a._emscripten_bind_DracoInt16Array___destroy___0 = function () {
                return a.asm.emscripten_bind_DracoInt16Array___destroy___0.apply(null, arguments);
            }),
            Za = (a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0 = function () {
                return a.asm.emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null, arguments);
            }),
            gc = (a._emscripten_bind_DracoFloat32Array_GetValue_1 = function () {
                return a.asm.emscripten_bind_DracoFloat32Array_GetValue_1.apply(null, arguments);
            }),
            hc = (a._emscripten_bind_DracoFloat32Array_size_0 = function () {
                return a.asm.emscripten_bind_DracoFloat32Array_size_0.apply(null, arguments);
            }),
            ic = (a._emscripten_bind_DracoFloat32Array___destroy___0 = function () {
                return a.asm.emscripten_bind_DracoFloat32Array___destroy___0.apply(null, arguments);
            }),
            $a = (a._emscripten_bind_GeometryAttribute_GeometryAttribute_0 = function () {
                return a.asm.emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, arguments);
            }),
            jc = (a._emscripten_bind_GeometryAttribute___destroy___0 = function () {
                return a.asm.emscripten_bind_GeometryAttribute___destroy___0.apply(null, arguments);
            }),
            ab = (a._emscripten_bind_DecoderBuffer_DecoderBuffer_0 = function () {
                return a.asm.emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null, arguments);
            }),
            kc = (a._emscripten_bind_DecoderBuffer_Init_2 = function () {
                return a.asm.emscripten_bind_DecoderBuffer_Init_2.apply(null, arguments);
            }),
            lc = (a._emscripten_bind_DecoderBuffer___destroy___0 = function () {
                return a.asm.emscripten_bind_DecoderBuffer___destroy___0.apply(null, arguments);
            }),
            bb = (a._emscripten_bind_Decoder_Decoder_0 = function () {
                return a.asm.emscripten_bind_Decoder_Decoder_0.apply(null, arguments);
            }),
            mc = (a._emscripten_bind_Decoder_GetEncodedGeometryType_1 = function () {
                return a.asm.emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null, arguments);
            }),
            nc = (a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2 = function () {
                return a.asm.emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, arguments);
            }),
            oc = (a._emscripten_bind_Decoder_DecodeBufferToMesh_2 = function () {
                return a.asm.emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null, arguments);
            }),
            pc = (a._emscripten_bind_Decoder_GetAttributeId_2 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeId_2.apply(null, arguments);
            }),
            qc = (a._emscripten_bind_Decoder_GetAttributeIdByName_2 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null, arguments);
            }),
            rc = (a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null, arguments);
            }),
            sc = (a._emscripten_bind_Decoder_GetAttribute_2 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttribute_2.apply(null, arguments);
            }),
            tc = (a._emscripten_bind_Decoder_GetAttributeByUniqueId_2 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null, arguments);
            }),
            uc = (a._emscripten_bind_Decoder_GetMetadata_1 = function () {
                return a.asm.emscripten_bind_Decoder_GetMetadata_1.apply(null, arguments);
            }),
            vc = (a._emscripten_bind_Decoder_GetAttributeMetadata_2 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null, arguments);
            }),
            wc = (a._emscripten_bind_Decoder_GetFaceFromMesh_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null, arguments);
            }),
            xc = (a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2 = function () {
                return a.asm.emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null, arguments);
            }),
            yc = (a._emscripten_bind_Decoder_GetTrianglesUInt16Array_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetTrianglesUInt16Array_3.apply(null, arguments);
            }),
            zc = (a._emscripten_bind_Decoder_GetTrianglesUInt32Array_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetTrianglesUInt32Array_3.apply(null, arguments);
            }),
            Ac = (a._emscripten_bind_Decoder_GetAttributeFloat_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeFloat_3.apply(null, arguments);
            }),
            Bc = (a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null, arguments);
            }),
            Cc = (a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null, arguments);
            }),
            Dc = (a._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3.apply(null, arguments);
            }),
            Ec = (a._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3.apply(null, arguments);
            }),
            Fc = (a._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3.apply(null, arguments);
            }),
            Gc = (a._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3.apply(null, arguments);
            }),
            Hc = (a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null, arguments);
            }),
            Ic = (a._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3.apply(null, arguments);
            }),
            Jc = (a._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5 = function () {
                return a.asm.emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5.apply(null, arguments);
            }),
            Kc = (a._emscripten_bind_Decoder_SkipAttributeTransform_1 = function () {
                return a.asm.emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null, arguments);
            }),
            Lc = (a._emscripten_bind_Decoder___destroy___0 = function () {
                return a.asm.emscripten_bind_Decoder___destroy___0.apply(null, arguments);
            }),
            cb = (a._emscripten_bind_Mesh_Mesh_0 = function () {
                return a.asm.emscripten_bind_Mesh_Mesh_0.apply(null, arguments);
            }),
            Mc = (a._emscripten_bind_Mesh_num_faces_0 = function () {
                return a.asm.emscripten_bind_Mesh_num_faces_0.apply(null, arguments);
            }),
            Nc = (a._emscripten_bind_Mesh_num_attributes_0 = function () {
                return a.asm.emscripten_bind_Mesh_num_attributes_0.apply(null, arguments);
            }),
            Oc = (a._emscripten_bind_Mesh_num_points_0 = function () {
                return a.asm.emscripten_bind_Mesh_num_points_0.apply(null, arguments);
            }),
            Pc = (a._emscripten_bind_Mesh___destroy___0 = function () {
                return a.asm.emscripten_bind_Mesh___destroy___0.apply(null, arguments);
            }),
            Qc = (a._emscripten_bind_VoidPtr___destroy___0 = function () {
                return a.asm.emscripten_bind_VoidPtr___destroy___0.apply(null, arguments);
            }),
            db = (a._emscripten_bind_DracoInt32Array_DracoInt32Array_0 = function () {
                return a.asm.emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, arguments);
            }),
            Rc = (a._emscripten_bind_DracoInt32Array_GetValue_1 = function () {
                return a.asm.emscripten_bind_DracoInt32Array_GetValue_1.apply(null, arguments);
            }),
            Sc = (a._emscripten_bind_DracoInt32Array_size_0 = function () {
                return a.asm.emscripten_bind_DracoInt32Array_size_0.apply(null, arguments);
            }),
            Tc = (a._emscripten_bind_DracoInt32Array___destroy___0 = function () {
                return a.asm.emscripten_bind_DracoInt32Array___destroy___0.apply(null, arguments);
            }),
            eb = (a._emscripten_bind_Metadata_Metadata_0 = function () {
                return a.asm.emscripten_bind_Metadata_Metadata_0.apply(null, arguments);
            }),
            Uc = (a._emscripten_bind_Metadata___destroy___0 = function () {
                return a.asm.emscripten_bind_Metadata___destroy___0.apply(null, arguments);
            }),
            Vc = (a._emscripten_enum_draco_StatusCode_OK = function () {
                return a.asm.emscripten_enum_draco_StatusCode_OK.apply(null, arguments);
            }),
            Wc = (a._emscripten_enum_draco_StatusCode_DRACO_ERROR = function () {
                return a.asm.emscripten_enum_draco_StatusCode_DRACO_ERROR.apply(null, arguments);
            }),
            Xc = (a._emscripten_enum_draco_StatusCode_IO_ERROR = function () {
                return a.asm.emscripten_enum_draco_StatusCode_IO_ERROR.apply(null, arguments);
            }),
            Yc = (a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER = function () {
                return a.asm.emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null, arguments);
            }),
            Zc = (a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION = function () {
                return a.asm.emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, arguments);
            }),
            $c = (a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION = function () {
                return a.asm.emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null, arguments);
            }),
            ad = (a._emscripten_enum_draco_DataType_DT_INVALID = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_INVALID.apply(null, arguments);
            }),
            bd = (a._emscripten_enum_draco_DataType_DT_INT8 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_INT8.apply(null, arguments);
            }),
            cd = (a._emscripten_enum_draco_DataType_DT_UINT8 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_UINT8.apply(null, arguments);
            }),
            dd = (a._emscripten_enum_draco_DataType_DT_INT16 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_INT16.apply(null, arguments);
            }),
            ed = (a._emscripten_enum_draco_DataType_DT_UINT16 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_UINT16.apply(null, arguments);
            }),
            fd = (a._emscripten_enum_draco_DataType_DT_INT32 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_INT32.apply(null, arguments);
            }),
            gd = (a._emscripten_enum_draco_DataType_DT_UINT32 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_UINT32.apply(null, arguments);
            }),
            hd = (a._emscripten_enum_draco_DataType_DT_INT64 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_INT64.apply(null, arguments);
            }),
            id = (a._emscripten_enum_draco_DataType_DT_UINT64 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_UINT64.apply(null, arguments);
            }),
            jd = (a._emscripten_enum_draco_DataType_DT_FLOAT32 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_FLOAT32.apply(null, arguments);
            }),
            kd = (a._emscripten_enum_draco_DataType_DT_FLOAT64 = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_FLOAT64.apply(null, arguments);
            }),
            ld = (a._emscripten_enum_draco_DataType_DT_BOOL = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_BOOL.apply(null, arguments);
            }),
            md = (a._emscripten_enum_draco_DataType_DT_TYPES_COUNT = function () {
                return a.asm.emscripten_enum_draco_DataType_DT_TYPES_COUNT.apply(null, arguments);
            }),
            nd = (a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE = function () {
                return a.asm.emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null, arguments);
            }),
            od = (a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD = function () {
                return a.asm.emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null, arguments);
            }),
            pd = (a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH = function () {
                return a.asm.emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null, arguments);
            }),
            qd = (a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM = function () {
                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(
                    null,
                    arguments
                );
            }),
            rd = (a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM = function () {
                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null, arguments);
            }),
            sd = (a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM = function () {
                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(
                    null,
                    arguments
                );
            }),
            td = (a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM = function () {
                return a.asm.emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(
                    null,
                    arguments
                );
            }),
            ud = (a._emscripten_enum_draco_GeometryAttribute_Type_INVALID = function () {
                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null, arguments);
            }),
            vd = (a._emscripten_enum_draco_GeometryAttribute_Type_POSITION = function () {
                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null, arguments);
            }),
            wd = (a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL = function () {
                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null, arguments);
            }),
            xd = (a._emscripten_enum_draco_GeometryAttribute_Type_COLOR = function () {
                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null, arguments);
            }),
            yd = (a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD = function () {
                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null, arguments);
            }),
            zd = (a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC = function () {
                return a.asm.emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null, arguments);
            });
        a._setThrew = function () {
            return a.asm.setThrew.apply(null, arguments);
        };
        var ta = (a.__ZSt18uncaught_exceptionv = function () {
            return a.asm._ZSt18uncaught_exceptionv.apply(null, arguments);
        });
        a._free = function () {
            return a.asm.free.apply(null, arguments);
        };
        var ib = (a._malloc = function () {
            return a.asm.malloc.apply(null, arguments);
        });
        a.stackSave = function () {
            return a.asm.stackSave.apply(null, arguments);
        };
        a.stackAlloc = function () {
            return a.asm.stackAlloc.apply(null, arguments);
        };
        a.stackRestore = function () {
            return a.asm.stackRestore.apply(null, arguments);
        };
        a.__growWasmMemory = function () {
            return a.asm.__growWasmMemory.apply(null, arguments);
        };
        a.dynCall_ii = function () {
            return a.asm.dynCall_ii.apply(null, arguments);
        };
        a.dynCall_vi = function () {
            return a.asm.dynCall_vi.apply(null, arguments);
        };
        a.dynCall_iii = function () {
            return a.asm.dynCall_iii.apply(null, arguments);
        };
        a.dynCall_vii = function () {
            return a.asm.dynCall_vii.apply(null, arguments);
        };
        a.dynCall_iiii = function () {
            return a.asm.dynCall_iiii.apply(null, arguments);
        };
        a.dynCall_v = function () {
            return a.asm.dynCall_v.apply(null, arguments);
        };
        a.dynCall_viii = function () {
            return a.asm.dynCall_viii.apply(null, arguments);
        };
        a.dynCall_viiii = function () {
            return a.asm.dynCall_viiii.apply(null, arguments);
        };
        a.dynCall_iiiiiii = function () {
            return a.asm.dynCall_iiiiiii.apply(null, arguments);
        };
        a.dynCall_iidiiii = function () {
            return a.asm.dynCall_iidiiii.apply(null, arguments);
        };
        a.dynCall_jiji = function () {
            return a.asm.dynCall_jiji.apply(null, arguments);
        };
        a.dynCall_viiiiii = function () {
            return a.asm.dynCall_viiiiii.apply(null, arguments);
        };
        a.dynCall_viiiii = function () {
            return a.asm.dynCall_viiiii.apply(null, arguments);
        };
        a.asm = La;
        var fa;
        a.then = function (e) {
            if (fa) e(a);
            else {
                var c = a.onRuntimeInitialized;
                a.onRuntimeInitialized = function () {
                    c && c();
                    e(a);
                };
            }
            return a;
        };
        ja = function c() {
            fa || ma();
            fa || (ja = c);
        };
        a.run = ma;
        if (a.preInit)
            for ('function' == typeof a.preInit && (a.preInit = [a.preInit]); 0 < a.preInit.length; ) a.preInit.pop()();
        ma();
        p.prototype = Object.create(p.prototype);
        p.prototype.constructor = p;
        p.prototype.__class__ = p;
        p.__cache__ = {};
        a.WrapperObject = p;
        a.getCache = u;
        a.wrapPointer = N;
        a.castObject = function (a, b) {
            return N(a.ptr, b);
        };
        a.NULL = N(0);
        a.destroy = function (a) {
            if (!a.__destroy__) throw 'Error: Cannot destroy object. (Did you create it yourself?)';
            a.__destroy__();
            delete u(a.__class__)[a.ptr];
        };
        a.compare = function (a, b) {
            return a.ptr === b.ptr;
        };
        a.getPointer = function (a) {
            return a.ptr;
        };
        a.getClass = function (a) {
            return a.__class__;
        };
        var n = {
            buffer: 0,
            size: 0,
            pos: 0,
            temps: [],
            needed: 0,
            prepare: function () {
                if (n.needed) {
                    for (var c = 0; c < n.temps.length; c++) a._free(n.temps[c]);
                    n.temps.length = 0;
                    a._free(n.buffer);
                    n.buffer = 0;
                    n.size += n.needed;
                    n.needed = 0;
                }
                n.buffer || ((n.size += 128), (n.buffer = a._malloc(n.size)), t(n.buffer));
                n.pos = 0;
            },
            alloc: function (c, b) {
                t(n.buffer);
                c = c.length * b.BYTES_PER_ELEMENT;
                c = (c + 7) & -8;
                n.pos + c >= n.size
                    ? (t(0 < c), (n.needed += c), (b = a._malloc(c)), n.temps.push(b))
                    : ((b = n.buffer + n.pos), (n.pos += c));
                return b;
            },
            copy: function (a, b, d) {
                switch (b.BYTES_PER_ELEMENT) {
                    case 2:
                        d >>= 1;
                        break;
                    case 4:
                        d >>= 2;
                        break;
                    case 8:
                        d >>= 3;
                }
                for (var c = 0; c < a.length; c++) b[d + c] = a[c];
            },
        };
        x.prototype = Object.create(p.prototype);
        x.prototype.constructor = x;
        x.prototype.__class__ = x;
        x.__cache__ = {};
        a.Status = x;
        x.prototype.code = x.prototype.code = function () {
            return jb(this.ptr);
        };
        x.prototype.ok = x.prototype.ok = function () {
            return !!kb(this.ptr);
        };
        x.prototype.error_msg = x.prototype.error_msg = function () {
            return X(lb(this.ptr));
        };
        x.prototype.__destroy__ = x.prototype.__destroy__ = function () {
            mb(this.ptr);
        };
        A.prototype = Object.create(p.prototype);
        A.prototype.constructor = A;
        A.prototype.__class__ = A;
        A.__cache__ = {};
        a.DracoUInt16Array = A;
        A.prototype.GetValue = A.prototype.GetValue = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return nb(c, a);
        };
        A.prototype.size = A.prototype.size = function () {
            return ob(this.ptr);
        };
        A.prototype.__destroy__ = A.prototype.__destroy__ = function () {
            pb(this.ptr);
        };
        B.prototype = Object.create(p.prototype);
        B.prototype.constructor = B;
        B.prototype.__class__ = B;
        B.__cache__ = {};
        a.PointCloud = B;
        B.prototype.num_attributes = B.prototype.num_attributes = function () {
            return qb(this.ptr);
        };
        B.prototype.num_points = B.prototype.num_points = function () {
            return rb(this.ptr);
        };
        B.prototype.__destroy__ = B.prototype.__destroy__ = function () {
            sb(this.ptr);
        };
        C.prototype = Object.create(p.prototype);
        C.prototype.constructor = C;
        C.prototype.__class__ = C;
        C.__cache__ = {};
        a.DracoUInt8Array = C;
        C.prototype.GetValue = C.prototype.GetValue = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return tb(c, a);
        };
        C.prototype.size = C.prototype.size = function () {
            return ub(this.ptr);
        };
        C.prototype.__destroy__ = C.prototype.__destroy__ = function () {
            vb(this.ptr);
        };
        D.prototype = Object.create(p.prototype);
        D.prototype.constructor = D;
        D.prototype.__class__ = D;
        D.__cache__ = {};
        a.DracoUInt32Array = D;
        D.prototype.GetValue = D.prototype.GetValue = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return wb(c, a);
        };
        D.prototype.size = D.prototype.size = function () {
            return xb(this.ptr);
        };
        D.prototype.__destroy__ = D.prototype.__destroy__ = function () {
            yb(this.ptr);
        };
        E.prototype = Object.create(p.prototype);
        E.prototype.constructor = E;
        E.prototype.__class__ = E;
        E.__cache__ = {};
        a.AttributeOctahedronTransform = E;
        E.prototype.InitFromAttribute = E.prototype.InitFromAttribute = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return !!zb(c, a);
        };
        E.prototype.quantization_bits = E.prototype.quantization_bits = function () {
            return Ab(this.ptr);
        };
        E.prototype.__destroy__ = E.prototype.__destroy__ = function () {
            Bb(this.ptr);
        };
        q.prototype = Object.create(p.prototype);
        q.prototype.constructor = q;
        q.prototype.__class__ = q;
        q.__cache__ = {};
        a.PointAttribute = q;
        q.prototype.size = q.prototype.size = function () {
            return Cb(this.ptr);
        };
        q.prototype.GetAttributeTransformData = q.prototype.GetAttributeTransformData = function () {
            return N(Db(this.ptr), J);
        };
        q.prototype.attribute_type = q.prototype.attribute_type = function () {
            return Eb(this.ptr);
        };
        q.prototype.data_type = q.prototype.data_type = function () {
            return Fb(this.ptr);
        };
        q.prototype.num_components = q.prototype.num_components = function () {
            return Gb(this.ptr);
        };
        q.prototype.normalized = q.prototype.normalized = function () {
            return !!Hb(this.ptr);
        };
        q.prototype.byte_stride = q.prototype.byte_stride = function () {
            return Ib(this.ptr);
        };
        q.prototype.byte_offset = q.prototype.byte_offset = function () {
            return Jb(this.ptr);
        };
        q.prototype.unique_id = q.prototype.unique_id = function () {
            return Kb(this.ptr);
        };
        q.prototype.__destroy__ = q.prototype.__destroy__ = function () {
            Lb(this.ptr);
        };
        J.prototype = Object.create(p.prototype);
        J.prototype.constructor = J;
        J.prototype.__class__ = J;
        J.__cache__ = {};
        a.AttributeTransformData = J;
        J.prototype.transform_type = J.prototype.transform_type = function () {
            return Mb(this.ptr);
        };
        J.prototype.__destroy__ = J.prototype.__destroy__ = function () {
            Nb(this.ptr);
        };
        w.prototype = Object.create(p.prototype);
        w.prototype.constructor = w;
        w.prototype.__class__ = w;
        w.__cache__ = {};
        a.AttributeQuantizationTransform = w;
        w.prototype.InitFromAttribute = w.prototype.InitFromAttribute = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return !!Ob(c, a);
        };
        w.prototype.quantization_bits = w.prototype.quantization_bits = function () {
            return Pb(this.ptr);
        };
        w.prototype.min_value = w.prototype.min_value = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return Qb(c, a);
        };
        w.prototype.range = w.prototype.range = function () {
            return Rb(this.ptr);
        };
        w.prototype.__destroy__ = w.prototype.__destroy__ = function () {
            Sb(this.ptr);
        };
        F.prototype = Object.create(p.prototype);
        F.prototype.constructor = F;
        F.prototype.__class__ = F;
        F.__cache__ = {};
        a.DracoInt8Array = F;
        F.prototype.GetValue = F.prototype.GetValue = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return Tb(c, a);
        };
        F.prototype.size = F.prototype.size = function () {
            return Ub(this.ptr);
        };
        F.prototype.__destroy__ = F.prototype.__destroy__ = function () {
            Vb(this.ptr);
        };
        r.prototype = Object.create(p.prototype);
        r.prototype.constructor = r;
        r.prototype.__class__ = r;
        r.__cache__ = {};
        a.MetadataQuerier = r;
        r.prototype.HasEntry = r.prototype.HasEntry = function (a, b) {
            var c = this.ptr;
            n.prepare();
            a && 'object' === typeof a && (a = a.ptr);
            b = b && 'object' === typeof b ? b.ptr : V(b);
            return !!Wb(c, a, b);
        };
        r.prototype.GetIntEntry = r.prototype.GetIntEntry = function (a, b) {
            var c = this.ptr;
            n.prepare();
            a && 'object' === typeof a && (a = a.ptr);
            b = b && 'object' === typeof b ? b.ptr : V(b);
            return Xb(c, a, b);
        };
        r.prototype.GetIntEntryArray = r.prototype.GetIntEntryArray = function (a, b, d) {
            var c = this.ptr;
            n.prepare();
            a && 'object' === typeof a && (a = a.ptr);
            b = b && 'object' === typeof b ? b.ptr : V(b);
            d && 'object' === typeof d && (d = d.ptr);
            Yb(c, a, b, d);
        };
        r.prototype.GetDoubleEntry = r.prototype.GetDoubleEntry = function (a, b) {
            var c = this.ptr;
            n.prepare();
            a && 'object' === typeof a && (a = a.ptr);
            b = b && 'object' === typeof b ? b.ptr : V(b);
            return Zb(c, a, b);
        };
        r.prototype.GetStringEntry = r.prototype.GetStringEntry = function (a, b) {
            var c = this.ptr;
            n.prepare();
            a && 'object' === typeof a && (a = a.ptr);
            b = b && 'object' === typeof b ? b.ptr : V(b);
            return X($b(c, a, b));
        };
        r.prototype.NumEntries = r.prototype.NumEntries = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return ac(c, a);
        };
        r.prototype.GetEntryName = r.prototype.GetEntryName = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return X(bc(c, a, b));
        };
        r.prototype.__destroy__ = r.prototype.__destroy__ = function () {
            cc(this.ptr);
        };
        G.prototype = Object.create(p.prototype);
        G.prototype.constructor = G;
        G.prototype.__class__ = G;
        G.__cache__ = {};
        a.DracoInt16Array = G;
        G.prototype.GetValue = G.prototype.GetValue = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return dc(c, a);
        };
        G.prototype.size = G.prototype.size = function () {
            return ec(this.ptr);
        };
        G.prototype.__destroy__ = G.prototype.__destroy__ = function () {
            fc(this.ptr);
        };
        H.prototype = Object.create(p.prototype);
        H.prototype.constructor = H;
        H.prototype.__class__ = H;
        H.__cache__ = {};
        a.DracoFloat32Array = H;
        H.prototype.GetValue = H.prototype.GetValue = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return gc(c, a);
        };
        H.prototype.size = H.prototype.size = function () {
            return hc(this.ptr);
        };
        H.prototype.__destroy__ = H.prototype.__destroy__ = function () {
            ic(this.ptr);
        };
        O.prototype = Object.create(p.prototype);
        O.prototype.constructor = O;
        O.prototype.__class__ = O;
        O.__cache__ = {};
        a.GeometryAttribute = O;
        O.prototype.__destroy__ = O.prototype.__destroy__ = function () {
            jc(this.ptr);
        };
        K.prototype = Object.create(p.prototype);
        K.prototype.constructor = K;
        K.prototype.__class__ = K;
        K.__cache__ = {};
        a.DecoderBuffer = K;
        K.prototype.Init = K.prototype.Init = function (a, b) {
            var c = this.ptr;
            n.prepare();
            if ('object' == typeof a && 'object' === typeof a) {
                var e = n.alloc(a, T);
                n.copy(a, T, e);
                a = e;
            }
            b && 'object' === typeof b && (b = b.ptr);
            kc(c, a, b);
        };
        K.prototype.__destroy__ = K.prototype.__destroy__ = function () {
            lc(this.ptr);
        };
        g.prototype = Object.create(p.prototype);
        g.prototype.constructor = g;
        g.prototype.__class__ = g;
        g.__cache__ = {};
        a.Decoder = g;
        g.prototype.GetEncodedGeometryType = g.prototype.GetEncodedGeometryType = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return mc(c, a);
        };
        g.prototype.DecodeBufferToPointCloud = g.prototype.DecodeBufferToPointCloud = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return N(nc(c, a, b), x);
        };
        g.prototype.DecodeBufferToMesh = g.prototype.DecodeBufferToMesh = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return N(oc(c, a, b), x);
        };
        g.prototype.GetAttributeId = g.prototype.GetAttributeId = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return pc(c, a, b);
        };
        g.prototype.GetAttributeIdByName = g.prototype.GetAttributeIdByName = function (a, b) {
            var c = this.ptr;
            n.prepare();
            a && 'object' === typeof a && (a = a.ptr);
            b = b && 'object' === typeof b ? b.ptr : V(b);
            return qc(c, a, b);
        };
        g.prototype.GetAttributeIdByMetadataEntry = g.prototype.GetAttributeIdByMetadataEntry = function (a, b, d) {
            var c = this.ptr;
            n.prepare();
            a && 'object' === typeof a && (a = a.ptr);
            b = b && 'object' === typeof b ? b.ptr : V(b);
            d = d && 'object' === typeof d ? d.ptr : V(d);
            return rc(c, a, b, d);
        };
        g.prototype.GetAttribute = g.prototype.GetAttribute = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return N(sc(c, a, b), q);
        };
        g.prototype.GetAttributeByUniqueId = g.prototype.GetAttributeByUniqueId = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return N(tc(c, a, b), q);
        };
        g.prototype.GetMetadata = g.prototype.GetMetadata = function (a) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return N(uc(c, a), L);
        };
        g.prototype.GetAttributeMetadata = g.prototype.GetAttributeMetadata = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return N(vc(c, a, b), L);
        };
        g.prototype.GetFaceFromMesh = g.prototype.GetFaceFromMesh = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!wc(c, a, b, d);
        };
        g.prototype.GetTriangleStripsFromMesh = g.prototype.GetTriangleStripsFromMesh = function (a, b) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            return xc(c, a, b);
        };
        g.prototype.GetTrianglesUInt16Array = g.prototype.GetTrianglesUInt16Array = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!yc(c, a, b, d);
        };
        g.prototype.GetTrianglesUInt32Array = g.prototype.GetTrianglesUInt32Array = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!zc(c, a, b, d);
        };
        g.prototype.GetAttributeFloat = g.prototype.GetAttributeFloat = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Ac(c, a, b, d);
        };
        g.prototype.GetAttributeFloatForAllPoints = g.prototype.GetAttributeFloatForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Bc(c, a, b, d);
        };
        g.prototype.GetAttributeIntForAllPoints = g.prototype.GetAttributeIntForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Cc(c, a, b, d);
        };
        g.prototype.GetAttributeInt8ForAllPoints = g.prototype.GetAttributeInt8ForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Dc(c, a, b, d);
        };
        g.prototype.GetAttributeUInt8ForAllPoints = g.prototype.GetAttributeUInt8ForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Ec(c, a, b, d);
        };
        g.prototype.GetAttributeInt16ForAllPoints = g.prototype.GetAttributeInt16ForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Fc(c, a, b, d);
        };
        g.prototype.GetAttributeUInt16ForAllPoints = g.prototype.GetAttributeUInt16ForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Gc(c, a, b, d);
        };
        g.prototype.GetAttributeInt32ForAllPoints = g.prototype.GetAttributeInt32ForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Hc(c, a, b, d);
        };
        g.prototype.GetAttributeUInt32ForAllPoints = g.prototype.GetAttributeUInt32ForAllPoints = function (a, b, d) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            return !!Ic(c, a, b, d);
        };
        g.prototype.GetAttributeDataArrayForAllPoints = g.prototype.GetAttributeDataArrayForAllPoints = function (
            a,
            b,
            d,
            e,
            f
        ) {
            var c = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            b && 'object' === typeof b && (b = b.ptr);
            d && 'object' === typeof d && (d = d.ptr);
            e && 'object' === typeof e && (e = e.ptr);
            f && 'object' === typeof f && (f = f.ptr);
            return !!Jc(c, a, b, d, e, f);
        };
        g.prototype.SkipAttributeTransform = g.prototype.SkipAttributeTransform = function (a) {
            var b = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            Kc(b, a);
        };
        g.prototype.__destroy__ = g.prototype.__destroy__ = function () {
            Lc(this.ptr);
        };
        y.prototype = Object.create(p.prototype);
        y.prototype.constructor = y;
        y.prototype.__class__ = y;
        y.__cache__ = {};
        a.Mesh = y;
        y.prototype.num_faces = y.prototype.num_faces = function () {
            return Mc(this.ptr);
        };
        y.prototype.num_attributes = y.prototype.num_attributes = function () {
            return Nc(this.ptr);
        };
        y.prototype.num_points = y.prototype.num_points = function () {
            return Oc(this.ptr);
        };
        y.prototype.__destroy__ = y.prototype.__destroy__ = function () {
            Pc(this.ptr);
        };
        Q.prototype = Object.create(p.prototype);
        Q.prototype.constructor = Q;
        Q.prototype.__class__ = Q;
        Q.__cache__ = {};
        a.VoidPtr = Q;
        Q.prototype.__destroy__ = Q.prototype.__destroy__ = function () {
            Qc(this.ptr);
        };
        I.prototype = Object.create(p.prototype);
        I.prototype.constructor = I;
        I.prototype.__class__ = I;
        I.__cache__ = {};
        a.DracoInt32Array = I;
        I.prototype.GetValue = I.prototype.GetValue = function (a) {
            var b = this.ptr;
            a && 'object' === typeof a && (a = a.ptr);
            return Rc(b, a);
        };
        I.prototype.size = I.prototype.size = function () {
            return Sc(this.ptr);
        };
        I.prototype.__destroy__ = I.prototype.__destroy__ = function () {
            Tc(this.ptr);
        };
        L.prototype = Object.create(p.prototype);
        L.prototype.constructor = L;
        L.prototype.__class__ = L;
        L.__cache__ = {};
        a.Metadata = L;
        L.prototype.__destroy__ = L.prototype.__destroy__ = function () {
            Uc(this.ptr);
        };
        (function () {
            function c() {
                a.OK = Vc();
                a.DRACO_ERROR = Wc();
                a.IO_ERROR = Xc();
                a.INVALID_PARAMETER = Yc();
                a.UNSUPPORTED_VERSION = Zc();
                a.UNKNOWN_VERSION = $c();
                a.DT_INVALID = ad();
                a.DT_INT8 = bd();
                a.DT_UINT8 = cd();
                a.DT_INT16 = dd();
                a.DT_UINT16 = ed();
                a.DT_INT32 = fd();
                a.DT_UINT32 = gd();
                a.DT_INT64 = hd();
                a.DT_UINT64 = id();
                a.DT_FLOAT32 = jd();
                a.DT_FLOAT64 = kd();
                a.DT_BOOL = ld();
                a.DT_TYPES_COUNT = md();
                a.INVALID_GEOMETRY_TYPE = nd();
                a.POINT_CLOUD = od();
                a.TRIANGULAR_MESH = pd();
                a.ATTRIBUTE_INVALID_TRANSFORM = qd();
                a.ATTRIBUTE_NO_TRANSFORM = rd();
                a.ATTRIBUTE_QUANTIZATION_TRANSFORM = sd();
                a.ATTRIBUTE_OCTAHEDRON_TRANSFORM = td();
                a.INVALID = ud();
                a.POSITION = vd();
                a.NORMAL = wd();
                a.COLOR = xd();
                a.TEX_COORD = yd();
                a.GENERIC = zd();
            }
            Ba ? c() : Da.unshift(c);
        })();
        if ('function' === typeof a.onModuleParsed) a.onModuleParsed();
        return m;
    };
})();
'object' === typeof exports && 'object' === typeof module
    ? (module.exports = DracoDecoderModule)
    : 'function' === typeof define && define.amd
    ? define([], function () {
          return DracoDecoderModule;
      })
    : 'object' === typeof exports && (exports.DracoDecoderModule = DracoDecoderModule);
